Pular para o conteúdo principal

Solicitando Permissões em Tempo de Execução (ANDROID-React-Native)

Este guia ajuda a solicitar permissões em tempo de execução no framework React-Native.

Solicitando permissões necessárias em tempo de execução

Algumas permissões do Android devem ser solicitadas dependendo da versão do Android do usuário. Se o usuário tiver uma versão do Android.

Primeiramente, importe o módulo PermissionsAndroid:

import { PermissionsAndroid } from "react-native";

Permissões para Android 6.0 e superior:

async function requestLocationPermission() {
if (!(Platform.OS == "android" && Platform.Version >= 23)) return;
const locationPermission = await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.FINE_LOCATION,
PermissionsAndroid.PERMISSIONS.COARSE_LOCATION])
if (locationPermission["android.permission.ACCESS_COARSE_LOCATION"] === PermissionsAndroid.RESULTS.GRANTED
&& locationPermission["android.permission.ACCESS_FINE_LOCATION"] === PermissionsAndroid.RESULTS.GRANTED
) {
console.log("Você pode acessar dispositivos próximos.");
} else {
console.log("Permissões de localização negadas");
}
};

Permissões para Android 12:

async function requestBluetoothPermission() {
if (!(Platform.OS == "android" && Platform.Version >= 31)) return;
const bluetoothPermission = await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.BLUETOOTH_SCAN,
PermissionsAndroid.PERMISSIONS.BLUETOOTH_ADVERTISE,
PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT])
if (bluetoothPermission["android.permission.BLUETOOTH_SCAN"] === PermissionsAndroid.RESULTS.GRANTED
&& bluetoothPermission["android.permission.BLUETOOTH_ADVERTISE"] === PermissionsAndroid.RESULTS.GRANTED
&& bluetoothPermission["android.permission.BLUETOOTH_CONNECT"] === PermissionsAndroid.RESULTS.GRANTED) {
console.log("Você pode acessar dispositivos próximos.");
} else {
console.log("Permissões de Bluetooth negadas");
}
};